#ifndef DOMAINQUERYDLG_H
#define DOMAINQUERYDLG_H

#include "precomp.h"
//#include <QDialog>
//#include <QStandardItemModel>
//#include <QTableView>

#include "MultiColumnFilterProxyModel.h"

class TDomain ;

namespace Ui {
class DomainQueryDlg;
}

class DomainQueryDlg : public QDialog
{
    Q_OBJECT

public:
    explicit DomainQueryDlg(QWidget *parent = nullptr);
    ~DomainQueryDlg();
    QStringList m_DnListStr;
    //QTableView *m_tableView;
    QStandardItemModel *m_tableModel;
    QSqlDatabase m_db;
    QStringList m_strColsName;
    TDomain *m_tDomain;
    int m_totalNum,m_successNum;
    MultiColumnFilterProxyModel *m_proxyModel;

private slots:
    void on_btn_import_clicked();

    void on_btn_dnQry_clicked();
    void dealRecvDataFromServer( QByteArray data,QString flag);
    void on_btn_create_clicked();
    void processReceivedData(QStringList data);
    void on_btn_dnFilter_clicked();

    void on_btn_reset_clicked();
    void slotRowDoubleClicked(const QModelIndex index);
    void slotShowToolTip(QModelIndex index);
    void toggleSelectAll(bool checked);
    void on_btn_delete_clicked();

    void on_btn_collect_clicked();

    void on_btn_export_clicked();

    void on_btn_close_clicked();

private:
    Ui::DomainQueryDlg *ui;
    QCheckBox *m_headerCheckbox;
    void initUI();
    void initModel();
    void queryDomainWhois(QString dnStr);
    bool decodeWhoisInfoToMap(QString dnStr,QByteArray data,int row);
    void exportTableViewToExcel(QTableView *tableView, const QString &filePath);
};

#endif // DOMAINQUERYDLG_H
